#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
char carr[5010];
long long arr[5010];
long long b;
int main()
{
	scanf("%s", carr);
	int la = strlen(carr);
	cin >> b;
	for (int i = 0; i < la; i++)
		arr[i] = carr[la - i - 1] - '0';
	
	for (int i = la - 1; i >= 0; i--) {
		if (arr[i] < b) {
			arr[i - 1] = arr[i] * 10 + arr[i - 1];
			arr[i] = 0;
		}
		else {
			arr[i - 1] = arr[i] % b * 10 + arr[i - 1];
			arr[i] /= b;
		}
	}
	int i = la - 1;
	for (; arr[i] == 0 && i >= 0; i--);
	if (i == -1) {
		printf("%d", 0);
		return 0;
	}
	for (; i >= 0; i--) {
		printf("%d", arr[i]);
	}
	return 0;
}


//using namespace std;
//char carr[5010];
//int arr[5010];
//long long b;
//int main()
//{
//	scanf("%s", carr);
//	int la = strlen(carr);
//	cin >> b;
//	for (int i = 0; i < la; i++)
//		arr[i] = carr[la - i - 1] - '0';
//	int b0 = 0; int left = 0; int rem = 0;
//	while (b > 0){
//		left += rem;
//		b0 = b % 10;
//		if (b == 0) {
//			b /= 10;
//			rem++;
//			continue;
//		}
//		for (int i = la - 1; i >= left; i--) {
//			if (arr[i] < b0) {
//				arr[i - 1] = arr[i] * 10 + arr[i - 1];
//				arr[i] = 0;
//			}
//			else {
//				arr[i - 1] = arr[i] % b0 * 10 + arr[i - 1];
//				arr[i] /= b0;
//			}
//		}
//		b /= 10;
//		rem++;
//	}
//	int i = la - 1;
//	for (; arr[i] == 0; i--);
//	for (; i >= left; i--) {
//		printf("%d", arr[i]);
//	}
//	return 0;
//}